#if UNITY_EDITOR
using System.IO;
using UnityEditor;
using UnityEngine;

public class CreateAsset : Editor
{
    [MenuItem("Tools/CreateAsset/DefaultConfig")]
    private static void Create()
    {
        // 实例化类  Config
        ScriptableObject config = CreateInstance<DefaultConfig>();

        // 如果实例化 Config 类为空，返回
        if (!config)
        {
            Debug.LogWarning("DefaultConfig not found");
            return;
        }

        // 自定义资源保存路径
        var path = Application.dataPath + "/Resources/Config";

        // 如果项目总不包含该路径，创建一个
        if (!Directory.Exists(path)) Directory.CreateDirectory(path);

        //将类名 GlobalConfig 转换为字符串
        //拼接保存自定义资源（.asset） 路径
        path = string.Format("Assets/Resources/Config/{0}.asset", typeof(DefaultConfig));

        // 生成自定义资源到指定路径
        AssetDatabase.CreateAsset(config, path);
        AssetDatabase.SaveAssets();
        AssetDatabase.Refresh();
    }
}
#endif